package com.adamfass.tractorbeam;

import java.util.Set;

import com.jme.scene.Node;
import com.jmex.physics.PhysicsSpace;

/** 
 * Overall structure of the game. Defines setup, scoring, victory conditions, etc. 
 */
public interface GameFlow {
  /**
   * Set up the initial state.
   */
  public void setUp(GameObjectManager gameObjectManager, Node rootNode, 
      PhysicsSpace physicsSpace, Set<GameUpdateLogic> gameUpdateLogicSet, 
      Set<Controller> controllerSet);
  
  /**
   * Update the game each frame.
   */
  public void update(GameObjectManager gameObjectManager, Node rootNode,
      PhysicsSpace physicsSpace, Set<GameUpdateLogic> gameUpdateLogicSet);
}
